1. Field
Methods consistent with the following description relate to verification of reconfigurable processors.
2. Description of the Related Art
A reconfigurable architecture refers to a spatial structure of a device that will be modified so as to be optimized for a specific operation.
Performing an operation using only a hardware configuration is not efficient and cannot properly respond to changing operations of the hardware. By contrast, in the case where an operation is performed using only a software configuration, it is possible to modify the software to match changing operations, but an operation speed would be slower than when only a hardware configuration is used.
However, a reconfigurable architecture takes the advantages of both hardware and software. In particular, the reconfigurable architecture is considered useful in digital signal processing which requires the same operation to be performed repeatedly.
There are many kinds of the reconfigurable architectures. A case in point is Coarse-Grained Array which consists of functional units connected to each other. In order to match an operation to be executed, the Coarse-Grained Array changes the way functional units are connected to each other to thereby be optimized for the operation.
A test program is utilized to verify the reconfigurable architecture. For example, Constraint Satisfaction Problems (CSPs) may be used as a test program. CSPs are mathematical problems defined as a set of objects whose state must satisfy a number of constraints or limitations. CSPs represent the entities in a problem as a homogeneous collection of finite constraints over variables, which are solved by constraint satisfaction methods.
However, related art test programs, such as CSPs, require both syntactic and semantic knowledge of an instruction.
In addition, while there are a number of functional units (FUs) in a reconfigurable processor, a CSP has thousands of constraints. Thus, it may be infeasible to verify the reconfigurable processor, which has a set of distinctive instructions, using a CSP.